<?php
class Arm_Form_Element_FckEditor extends Zend_Form_Element_Textarea
{
    
    /**
     * Use formTextarea view helper by default
     * @var string
     */
    public $helper = 'fckEditor';
    
    /**
     * Минимальный конфиг, если он установлен, то также добавляется
     * фильтер который удаляет на строне сервера лишние теги.
     */
    const MINI_CONFIG = 'mini.js';
    
    /**
     * Полная функциональность html но не разрешенны php теги.
     * Редктор их не разрешит водить.
     */
    const FULL_CONFIG = 'full.js';
    
    /**
     * Тоже что и full но редактор разрешит водить php код.
     */
    const FULLPHP_CONFIG = 'fullphp.js';
    
    
    /**
     * Установка конфига редактора, все конфиги
     * находятся в /public_html/default/scripts/config_fckeditor/
     * Задаем полное имя файла mini.js
     *
     * @param string $name full.js по умолчанию.
     */
    public function setConfigEditor($name)
    {
        if($name === self::MINI_CONFIG) {
            $this->addFilter(new Zend_Filter_StripTags(array('a', 'p', 'br', 'strong', 'ol', 'li','ul', 'em')));
        }
        $this->setAttrib('typeConfig', $name);
    }
    
    
    /**
     * Установка ширины окна  редактора.
     *
     * @param string $width
     */
    public function setWidth($width='350px')
    {
        $this->setAttrib('Width', $width);
    }
    
    
    /**
     * Установка высоты редактора
     *
     * @param string $height
     */
    public function setHeight($height='200px')
    {
        $this->setAttrib('Height', $height);
    }
}
